#ifndef __IANGELS_OP_PERMUTE_H__
#define __IANGELS_OP_PERMUTE_H__

#include "op/op.h"

namespace iangels {

class Permute : public OpBase {
public:
    Permute(const Config& config);
    ~Permute() {}

    const std::string id() const { return "Permute"; }

    Ret operator()(const std::vector<LazyDynamicTensor>& inputs,
        std::vector<LazyDynamicTensor>& outputs, bool inplace=true);

private:
    std::vector<int> origin_dims;
    std::vector<int> permute_dims;
}; // class Permute
} // namespace iangels

#endif // __IANGELS_OP_PERMUTE_H__